
#include <vector>
#include <string>
#include <windows.h>
#include "image.h"
#include "backbuffer.h"
#include "GameStructures.h"
using namespace std;
class clsGameClass{
	public:
clsGameClass();
~clsGameClass();

vector<string> Areas;
Image imgBuffer; 
BackBuffer bbTemp;
unsigned long ZMHeader;
int Setup();
int Game;//ZM is 0 MF is 1
TileBuffer		TileImage;
TileBuffer      BGImage;
TileBuffer      SpriteImage;
RHeader         RoomHeader;
vector<string> strMovement;
int curRoom;
int curArea;
int LoadHeader();
int LoadRoom();
unsigned long curRoomOffset;
vector<unsigned char>fGbuf;
vector<long>        PcPalMem;

//EXT u8          BGBuf[0x8000];
tTSA        TSA;
vector<gTileData>  RoomTilesets;//0x50 or 0x80
vector<unsigned long>  RoomOffsets;//8 or 0xA
int LoadSpecialEffects(long EffectNum);
SE SpecialEffects[16];
int MFGlobalGFX();
int ZMGlobalGFX();
int GetTileSet();
int GetLayer(u8 compression, u8 Layer, u32 offset);
nRoomBuff ThisLevelData;
nRoomBuff ThisBackLayer;
nRoomBuff ThisForeground;
nRoomBuff ThisClipData;
nRoomBuff ThisBackground;
nRoomBuff ThisRoomBuff;
int DrawRoom();
int DrawLayer(nRoomBuff* Map, u8 ctype);
int DrawAll;
int FullLoad();
int LoadClipData();
int SaveHeader();
int Save();
};